package br.com.academia.consultas;

import java.lang.reflect.Field;
import java.sql.Connection;
import java.util.ArrayList;
import java.util.List;

import br.com.academia.DAO.AlunoDAO;
import br.com.academia.annotations.Coluna;
import br.com.academia.beans.Aluno;

public class ConsultaAluno implements PesquisaAvancada{
	private Connection connection;
	private List<String> dadosConsulta = new ArrayList<String>();
	private List<String> retornoCabecalho = new ArrayList<String>();
	
	public ConsultaAluno(Connection connection){
		this.connection = connection;
	}
	
	public List<String> montaCabecalhoConsulta() {
		for(Field field : Aluno.class.getDeclaredFields()) {
			Coluna coluna = field.getAnnotation(Coluna.class);
			dadosConsulta.add(coluna.nomeBanco());
			retornoCabecalho.add(coluna.descricao());
		}
		return retornoCabecalho;
	}
	
	public List<String[]> montaConsulta() {
		return new AlunoDAO(connection).consultaAluno(dadosConsulta);
	}
	
	public String getTituloPesquisa() {
		return "Aluno";
	}

	public List<String> getDadosConsulta() {
		return dadosConsulta;
	}
	
	public String getControllerConsultar() {
		return "frmAlunoConsulta?idAluno=";
	}

	public String getControllerAlterar() {
		return "frmAlunoAlteracao?idAluno=";
	}

	public String getControllerExcluir() {
		return "frmAlunoExclusao?idAluno=";
	}
}
